SQL वाइल्डकार्ड वर्ण
वाइल्डकार्ड वर्ण का उपयोग स्ट्रिंग में एक या अधिक वर्णों को बदलने के लिए किया जाता है।
वाइल्डकार्ड वर्णों का उपयोग LIKE ऑपरेटर के साथ किया जाता है। किसी प्रोग्राम में किसी विशिष्ट विधि की खोज के लिए WHERE क्लास में LIKE ऑपरेटर का उपयोग किया जाता है।
उदाहरण
'ए' अक्षर से शुरू होने वाले सभी ग्राहकों को वापस करने के लिए:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
वाइल्डकार्ड वर्ण
| कोड | व्याख्या | उदाहरण |
|---|---|---|
| % | शून्य या अधिक वर्णों का प्रतिनिधित्व करता है | 'ए%' - ए, एबी, एबीसी इत्यादि |
| _ | एकल वर्ण का प्रतिनिधित्व करता है | 'ए_' - एबी, एसी, विज्ञापन आदि |
| [] | कोष्ठक में किसी एक वर्ण का प्रतिनिधित्व करता है * | '[एबीसी]%' - ए, बी, सी से शुरू होता है |
| ^ | कोष्ठक में नहीं किसी भी वर्ण का प्रतिनिधित्व करता है * | '[^abc]%' - ए, बी, सी को छोड़कर शुरू होता है |
| - | निर्दिष्ट सीमा के भीतर किसी एक वर्ण का प्रतिनिधित्व करता है * | '[ए-एफ]%' - ए से एफ तक शुरू होता है |
| {} | किसी भी जीवित पात्र का प्रतिनिधित्व करता है ** | केवल ओरेकल पर |
डेटाबेस समर्थन:
* PostgreSQL और MySQL डेटाबेस पर समर्थित नहीं है।
** केवल Oracle डेटाबेस पर समर्थित।
प्रदर्शन डेटाबेस
नीचे उदाहरणों में प्रयुक्त ग्राहक तालिका से एक चयन दिया गया है:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
% वाइल्डकार्ड का उपयोग करना
% वाइल्डकार्डवर्णों की कोई भी संख्या, शून्य वर्णों का भी प्रतिनिधित्व करता है।
उदाहरण
'es' पद्धति में सभी संभावित ग्राहकों को लौटाने के लिए:
SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
उदाहरण
विधि 'मेर' के साथ सभी ग्राहकों को वापस करने के लिए:
SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';
_ वाइल्डकार्ड का उपयोग करना
_ वाइल्डकार्ड एक हैएकल पत्रप्रतिनिधित्व करता है.
यह कोई भी अक्षर या संख्या हो सकता है, लेकिन प्रत्येक _ एक, और केवल एक वर्ण का प्रतिनिधित्व करता है।
उदाहरण
शहर में किसी भी अक्षर से शुरू होने वाले और "ऑनडॉन" पर ख़त्म होने वाले सभी ग्राहकों को वापस लौटाने के लिए:
SELECT * FROM Customers
WHERE City LIKE '_ondon';
उदाहरण
शहर में "L" से शुरू होने वाले और "on" पर समाप्त होने वाले किन्हीं तीन अक्षरों वाले सभी ग्राहकों को वापस लौटाने के लिए:
SELECT * FROM Customers
WHERE City LIKE 'L___on';
[] वाइल्डकार्ड का उपयोग करना
[] यदि वाइल्डकार्ड के अंदर कोई भी वर्ण मेल खाता है तो परिणाम देता है।
उदाहरण
"बी", "एस", या "पी" से शुरू होने वाले सभी ग्राहकों को वापस करने के लिए:
SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
नोट:
यह वाइल्डकार्ड PostgreSQL और MySQL डेटाबेस पर समर्थित नहीं है।
- वाइल्डकार्ड का उपयोग करना
- वाइल्डकार्ड [] आपको वाइल्डकार्ड के भीतर वर्णों की एक श्रृंखला निर्दिष्ट करने की अनुमति देता है।
उदाहरण
"ए", "बी", "सी", "डी", "ई" या "एफ" से शुरू होने वाले सभी ग्राहकों को वापस करने के लिए:
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
नोट:
यह वाइल्डकार्ड PostgreSQL और MySQL डेटाबेस पर समर्थित नहीं है।
वाइल्डकार्ड संयोजित करें
किसी भी वाइल्डकार्ड, जैसे % और _, का उपयोग अन्य वाइल्डकार्ड के साथ संयोजन में किया जा सकता है।
न्यूनतम लंबाई
"ए" से प्रारंभ और कम से कम 3 अक्षर लंबा
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
विशिष्ट स्थिति
दूसरे स्थान पर "र" वाले नाम
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
रेंज और स्थिति
a-f श्रेणी से शुरू होने वाले 3 अक्षर
SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]___%';
वाइल्डकार्ड के बिना
यदि वाइल्डकार्ड निर्दिष्ट नहीं है, तो परिणाम देने के लिए वाक्यांश का सटीक मिलान होना चाहिए।
उदाहरण
स्पेन से सभी ग्राहकों को वापस लेने के लिए:
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
माइक्रोसॉफ्ट एक्सेस वाइल्डकार्ड
Microsoft Access डेटाबेस में कुछ अन्य वाइल्डकार्ड हैं:
| कोड | व्याख्या | उदाहरण |
|---|---|---|
| * | शून्य या अधिक वर्णों का प्रतिनिधित्व करता है | bl* → bl, black, blue, blob |
| ? | एकल वर्ण का प्रतिनिधित्व करता है | h?t → hot, hat, hit |
| [] | कोष्ठक के भीतर किसी एक वर्ण का प्रतिनिधित्व करता है | h[oa]t → गर्म, टोपी (हिट नहीं) |
| ! | कोष्ठक में नहीं किसी भी वर्ण का प्रतिनिधित्व करता है | h[!oa]t → हिट (गर्म नहीं, टोपी) |
| - | निर्दिष्ट सीमा के भीतर किसी एक वर्ण का प्रतिनिधित्व करता है | c[a-b]t → cat, cbt |
| # | किसी एकल संख्यात्मक वर्ण का प्रतिनिधित्व करता है | 2#5 → 205, 215, 225, ... 295 |
डेटाबेस समर्थन की तुलना
SQL Server
- % - का समर्थन किया
- _ - का समर्थन किया
- [] - का समर्थन किया
- ^ - समर्थित
- - - का समर्थन किया
- {} - समर्थित नहीं
MySQL
- % - का समर्थन किया
- _ - का समर्थन किया
- [] - समर्थित नहीं
- ^ - समर्थित नहीं
- - - समर्थित नहीं
- {} - समर्थित नहीं
PostgreSQL
- % - का समर्थन किया
- _ - का समर्थन किया
- [] - समर्थित नहीं
- ^ - समर्थित नहीं
- - - समर्थित नहीं
- {} - समर्थित नहीं
शैली के उदाहरण
ईमेल डोमेन
किसी विशिष्ट डोमेन पर ईमेल
SELECT * FROM Users
WHERE Email LIKE '%@gmail.com';
आईडी का फॉर्म
निर्दिष्ट प्रारूप में आईडी
SELECT * FROM Employees
WHERE EmpID LIKE 'EMP____';
फोन नंबर
विशिष्ट भाग कोड
SELECT * FROM Customers
WHERE Phone LIKE '+91-9_______';
फ़ाइल प्रकार
छवि फ़ाइलें
SELECT * FROM Documents
WHERE FileName LIKE '%.jpg'
OR FileName LIKE '%.png'
OR FileName LIKE '%.gif';